package DAO;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import Modele.CollectionHistorique;

public class DAOHistorique  {

	public static void saveHistorique(CollectionHistorique colleDhisto) { // pour
																			// sérialiser
																			// la
																			// liste
																			// d'historique
		try {
			// ouverture d'un flux de sortie vers le fichier historique.serial
			FileOutputStream fos = new FileOutputStream("historique.serial");
			// creation d'un "flux d'objet" avec le flux fichier
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			try {
				// serialisation; ecriture de l'objet ds le flux de sortie
				oos.writeObject(colleDhisto);
				// on vide le tempon
				oos.flush();
				// System.out.println("url : " + historique.getUrl() +
				// " date : "+ historique.getDate() + "a ete serialize");
			} finally {
				// fermeture du flux
				try {
					oos.close();
				} finally {
					fos.close();
				}
			}
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}

	public static CollectionHistorique loadHistorique() { // pr désérialiser la
															// liste
															// d'historique

		CollectionHistorique collHisto = new CollectionHistorique();

		// ouverture d'un flux d'entrée depuis le fichier "personne.serial"
		FileInputStream fis;
		try {
			fis = new FileInputStream("historique.serial");
			// creation d'un "flux objet" avec le flux fichier
			ObjectInputStream ois = new ObjectInputStream(fis);
			// deseriatlisation: lecture de l'objet depuis le flux d'entree
			collHisto = (CollectionHistorique) ois.readObject();
			// on ferme les flux
			fis.close();
			ois.close();
			return collHisto;
			
		} catch (IOException | ClassNotFoundException e) {
			return collHisto;
		}

	}

}
